﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BLL.DTO.Propiedad;
using DAL.Entities;

namespace BLL.Mappers
{
    public class DepartamentoMapper
    {
        #region [ToDTO]

        public static DepartamentoDTO ToDTO(Departamento entity)
        {
            return new DepartamentoDTO()
            {
                AnoConstruccion = entity.IDEP_ANO_CONSTRUCCION,
                CantidadBanos = entity.IDEP_BANOS,
                CantidadDormitorios = entity.IDEP_DORMITORIOS,
                DescripcionComedor = entity.VDEP_COMEDOR,
                DescripcionLiving = entity.VDEP_LIVING,
                Distribucion = entity.TDEP_DISTRIBUCION,
                Orientacion = entity.VDEP_ORIENTACION,
                TipoConstruccion = entity.CDEP_TIPO_CONSTRUCCION,
                TipoDepartamento = entity.CDEP_TIPO,
                Detalle = entity.TDEP_DETALLE
            };
        }

        public static List<DepartamentoDTO> ToDTO(List<Departamento> entities)
        {
            return entities.Select(e => ToDTO(e)).ToList();
        }

        #endregion

        #region [ToEntity]

        public static Departamento ToEntity(DepartamentoDTO dto)
        {
            return new Departamento()
            {
                CDEP_TIPO = dto.TipoDepartamento,
                CDEP_TIPO_CONSTRUCCION = dto.TipoConstruccion,
                IDEP_ANO_CONSTRUCCION = dto.AnoConstruccion,
                IDEP_BANOS = dto.CantidadBanos,
                IDEP_DORMITORIOS = dto.CantidadDormitorios,
                TDEP_DETALLE = dto.Detalle,
                VDEP_ORIENTACION = dto.Orientacion,
                TDEP_DISTRIBUCION = dto.Distribucion,
                VDEP_COMEDOR = dto.DescripcionComedor,
                VDEP_LIVING = dto.DescripcionLiving
            };
        }

        public static List<Departamento> ToEntity(List<DepartamentoDTO> dtos)
        {
            return dtos.Select(d => ToEntity(d)).ToList();
        }

        #endregion
    }
}
